iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
AI & Data

YOLO系列網路技術採用以及實作系列 第 8

[DAY 8] YOLOv5-下篇

  • 分享至 

  • xImage
  •  

補充:

  • 上篇中的YOLOv5架構圖中,有繪製到一個CBL block,這邊CBL包含了 convolutionBatch Normalization以及Leakly ReLu激活函數。

其他技術採用:

  • 影像擴增技術:
    • Mosiac:將四張圖併成一張。
    • Copy-Paste:將其他的物件切割貼到另外一張圖片上。
    • Random Affine Transformations:隨機將影像進行放大縮小、旋轉、shearing。
    • MixUp:將多張圖片以線性的方式進行合併。
    • Albumentations:多種augmentation的函式庫。
    • HSV: 隨機變換影像的色相(Hue)、飽和度(Saturation)、值(Value)。
    • 隨機水平翻轉
  • 訓練策略:
    • 多尺度訓練: 在模型訓練過程隨機將影像以原圖0.5到1.5倍放大。
    • AutoAnchor: 個人覺得跟YOLOv2採用的Dimension Clusters一樣用以挑選最適合該資料集的Anchor Box。
    • Mixed precision訓練:採用單精度訓練與混合精度訓練出來的準確度都差不多,但是對於複雜的模型,採用混合精度可以節省記憶體的使用以集提升運算速度。
    • 同樣有採用基因演算法取得最佳超參數

損失函數的設計:

https://ithelp.ithome.com.tw/upload/images/20230923/201203100BMs1D86x8.png

  • https://ithelp.ithome.com.tw/upload/images/20230923/201203104Lt0OqrJLm.pngClasses Loss:用來計算分類錯誤(採用Binary Cross Entropy Loss)。
  • https://ithelp.ithome.com.tw/upload/images/20230923/20120310Um7DcmKjFO.pngObjectness Loss:物件是否在該Grid Cell當中(同樣採用Binary Cross Entropy Loss)。
    • 分別對大、中以及小物件進行加權值計算loss:
      https://ithelp.ithome.com.tw/upload/images/20230923/20120310X9ykGDsWgh.png
    • 權重固定: 大、中以及小物件分別為4、1以及0.4。
  • https://ithelp.ithome.com.tw/upload/images/20230923/20120310wkzBjgXrJr.pngLocation Loss: 計算物件的位置(C-IOU)。

求座標的方式:

https://ithelp.ithome.com.tw/upload/images/20230923/20120310VZvKGfduTl.png

  • YOLOv2、YOLOv3、YOLOv4:

    https://ithelp.ithome.com.tw/upload/images/20230923/201203105PI4AzD8ip.png

    https://ithelp.ithome.com.tw/upload/images/20230923/20120310JorHKAi3Ni.png

    https://ithelp.ithome.com.tw/upload/images/20230923/20120310p3HqD5Iy5f.png

    https://ithelp.ithome.com.tw/upload/images/20230923/20120310lVSBsXavvb.png

  • YOLOv5:

    • 中心點座標偏移量由(0,1)轉換至(-0.5,1.5),使偏移量比較容易得到0或是1的值。
    • 原先的w,h求法有缺陷,因為該值會有無限大的狀況發生,會使梯度無法收斂。

    https://ithelp.ithome.com.tw/upload/images/20230923/201203105NUy5NpOLw.png

    https://ithelp.ithome.com.tw/upload/images/20230923/20120310eqnZF0vMZk.png

    https://ithelp.ithome.com.tw/upload/images/20230923/201203105xUfJImcFX.png

    https://ithelp.ithome.com.tw/upload/images/20230923/20120310xEUTRb7YTS.png

實驗結果

  • 跟YOLOv4訓練速度相比。
    https://ithelp.ithome.com.tw/upload/images/20230923/20120310vJo8fyGK01.png

  • 驗證結果
    https://ithelp.ithome.com.tw/upload/images/20230923/20120310mQbQFeRF5r.png

  • 模型的大小
    https://ithelp.ithome.com.tw/upload/images/20230923/20120310V94CWw0cru.png

  • Inference所花費的時間
    https://ithelp.ithome.com.tw/upload/images/20230923/2012031032VRB23fD1.png

文章使用之圖片擷取自YOLOv5官方網站

參考文獻

  1. YOLOv5的AutoAnchor如何實現
  2. 混合精度對訓練產生的影響
  3. YOLOv5 NMS改成DIOU-NMS

上一篇
[DAY 7] YOLOv5-上篇
下一篇
[DAY 9] PP-YOLO
系列文
YOLO系列網路技術採用以及實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言